package com.qijian.business.domain.query;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.utils.mybatis.WhereType;
import com.qijian.common.utils.mybatis.WhereTypeEnum;
import lombok.Data;

import java.math.BigDecimal;

@Data
@TableName("t")
@JsonInclude
public class CommonSearchApp {

    @WhereType(filed = "element", type = WhereTypeEnum.LIKE)
    private String element;

    @WhereType(filed = "item_name", type = WhereTypeEnum.LIKE)
    private String itemName;

    @WhereType(filed = "customer_name", type = WhereTypeEnum.LIKE)
    private String customerName;

    private BigDecimal scheduleRate;

    private BigDecimal total;

    private String avatar;

    private BigDecimal actualProgressRate;

    private Long projectId;

    private Integer dispatchCount;

    private String qualityEngineerName;

    @JsonSerialize(using= ToStringSerializer.class)
    private Long bomId;

    @WhereType(filed = "isFinish")
    private Integer isFinish;

    private Integer unFinishNum;

    private Integer count;

    /**
     * 机台号数量
     */
    private Integer machineNum;
    /**
     * 已完成机台号数量
     */
    private Integer finishMachineNum;
    /**
     * 检验工序数量
     */
    private Integer checkNum;
    /**
     * 已完成检验工序数量
     */
    private Integer checkFinishNum;

    private BigDecimal bdCompletionRate;

    private BigDecimal inspectionFinishRate;

    private BigDecimal passRate;

    @WhereType(fields={"t.customer_name","t.item_name","t.element","mb.quality_engineer_name","t.nick_name"},type = WhereTypeEnum.LIKE)
    private String condition;

    private String nickName;

    private String avatar1;

}
